JBoss.orgCommunity Documentation
Mobicents SS7 Stack
provides Shell client to manage configuration of SS7 Stack Services. This chapter describes how to install and start client. Also it describes available
commands and provides examples.
To see examples of specific flow, to perform certain tasks, please refer to sections in chapter devoted to
SCCP
or M3UA
.
Shell client can be started with following command from
$JBOSS_HOME/bin
:
[$] ./ss7-run.sh
Once console starts, it will print following information:
========================================================================= Mobicents SS7: release.version=1.0.0-SNAPSHOT This is free software, with components licensed under the GNU General Public License version 2 and other licenses. For further details visit http://mobicents.org ========================================================================= mobicents>
The
ss7-run
script supports following options
Usage: SS7 [OPTIONS] Valid Options -v Display version number and exit -h This help screen
Shell needs to connect to managed instance. Command to connect has following structure:
ss7 connect <IP> <PORT>
Example 4.1. Connec to remote machine
mobicents>ss7 connect 10.65.208.215 3435 mobicents(10.65.208.215:3435)>
Host IP and port are optional, if not specified, shell will try to connect to
127.0.0.1:3435
Command to disconnect has following structure:
ss7 discconnect
SCCP provides connectionless and connection-oriented network services. This includes address(GTT) translation and routing, flow control segmentation and reassembly.
A global title is an address (e.g., a dialed 800 number, calling card number, or mobile subscriber identification number) which is translated by SCCP into a destination point code and subsystem number. A subsystem number uniquely identifies an application at the destination signaling point. SCCP is used as the transport layer for TCAP -based services
As SCCP acts as message router, it requires means to configure routing information. CLI provides way to easily manage routing rules information in Mobicents SCCP implementation.
User should also configure the remote subsystem number and remote signaling pointcode. In some cases where global title is used, SCCP will only require configuring of remote signaling pointcode and configuring of remote subsystem is not required.
SCCP routing rules are managed by sccp rule
command. It allows to perform following:
sccp rule create
sccp rule modify
sccp rule delete
sccp rule show
Rule can be create by issuing command with following structure:
sccp rule create <id> <mask> <address-indicator> <point-code> <subsystem-number> <translation-type> <numbering-plan> <nature-of-address-indicator> <digits> <primary-address-id> <backup-address-id>
This command should be specified after primary_add
and backup_add
are configured.
Please refer Section 4.3.2, “Address Management” on how to configure primary_add
and backup_add
A unique number to identify this rule
mask defines which part of the originally dialed digits remains in the translated digits and which part is replaced by the digits from primary or backup address. mask is divided into sections by separator /. The number of sections in mask should be equal to sections in digits passed in this command and sections in primary or backup address
Table 4.1. mask definitions
Mnemonic | Function |
---|---|
- | Ignore |
/ | Separator used to split the mask into sections. |
K | Keep the original dialed digits of this section into translated digits |
R | Replace the original dialed digits of this section with same section from primary or backup address into translated digits |
The address indicator is the first field in SCCP Party Address(called/calling) and is one octet in length. Its function is to indicate which information elements are present so that the address can be interpreted, in other words, it indicates the type of addressing information that is to be found in the address field. The addressing information from original global title is then compared with passed address information to match the rule.
Point code. This is ignored if bit 0 of address-indicator is not set.
Subsystem Number. This is ignored if bit 1 of address-indicator is not set.
Translation type. This is ignored if GT Indicator is 0000 or 0001
Table 4.2. Translation Type Values
Value | Description |
---|---|
0 | Unknown |
1 to 63 | International Service |
64 to 127 | Spare |
128 to 254 | National Network Specific |
255 | Reserved for Expansion |
The Number Plan (NP) field specifies the numbering plan that the address information follows. This is ignored if GT Indicator is 0000, 0001 or 0010
The Nature of Address Indicator (NAI) field defines the address range for a specific numbering plan. This is only used if GT Indicator is 0100
Specifies the string of digits divided into subsections using separator '/' depending on if mask contains separator. The dialed digits should match with theses digits as per rule specified bellow
Table 4.3. digit pattern
Value | Description |
---|---|
- | padding - ignored |
* | wildcard - matches any number of digits |
? | wildcard - matches exactly one digit |
/ | sparator used to split the digit pattern into sections. Each section can be processed differently as specified by mask parameter. |
Identifies the SCCP Address used as the primary translation
Identifies the SCCP Address used as the backup translation incase if pointcode specified by primary address is not available
Example 4.3. SCCP Rule creation
mobicents(10.65.208.215:3435)>sccp rule create 1 R 71 2 8 0 0 3 123456789 1 mobicents(10.65.208.215:3435)>sccp rule create 2 R 71 2 8 0 0 3 123456789 1 1
The command is used to define primary or backup address of translation. The global title
address information of this command is combined with the global title being translated by examining the
mask provided in the sccp rule create
command.The syntanx remains same except for primary address
sccp primary_add
is used and for backup address sccp backup_add
is used
sccp primary_add create
sccp backup_add create
sccp primary_add modify
sccp backup_add modify
sccp primary_add delete
sccp backup_add delete
sccp primary_add show
sccp backup_add show
Address can be create by issuing command with following structure:
For primary address
sccp primary_add create <id> <address-indicator> <point-code> <subsystem-number> <translation-type> <numbering-plan> <nature-of-address-indicator> <digits>
For backup address
sccp backup_add create <id> <address-indicator> <point-code> <subsystem-number> <translation-type> <numbering-plan> <nature-of-address-indicator> <digits>
A unique number to identify this address
The address indicator is the first field in SCCP Party Address(called/calling) and is one octet in length. Its function is to indicate which information elements are present so that the address can be interpreted, in other words, it indicates the type of addressing information that is to be found in the address field. The addressing information from original global title is then compared with passed address information to match the rule.
Point code. This is ignored if bit 0 of address-indicator is not set.
Subsystem Number. This is ignored if bit 1 of address-indicator is not set.
Translation type. This is ignored if GT Indicator is 0000 or 0001
Table 4.4. Translation Type Values
Value | Description |
---|---|
0 | Unknown |
1 to 63 | International Service |
64 to 127 | Spare |
128 to 254 | National Network Specific |
255 | Reserved for Expansion |
The Number Plan (NP) field specifies the numbering plan that the address information follows. This is ignored if GT Indicator is 0000, 0001 or 0010
The Nature of Address Indicator (NAI) field defines the address range for a specific numbering plan. This is only used if GT Indicator is 0100
The global title address information to translate to, specified as string of digits divided into subsections using separator '/' depending on if mask contains separator.
In addition the digits string can contain
Table 4.5. Address digit
Value | Description |
---|---|
- | padding - ignore |
/ |
Separtor to split the digits into sections. Each section is processed differently as specified
by the mask in sccp rule create command.
|
Example 4.5. SCCP Primary Address creation
mobicents(10.65.208.215:3435)>sccp primary_add create 1 71 2 8 0 0 3 123456789
Example 4.6. SCCP Backup Address creation
mobicents(10.65.208.215:3435)>sccp backup_add create 1 71 3 8 0 0 3 123456789
For primary address
sccp primary_add delete <id>
For backup address
sccp backup_add delete <id>
Where:
is id set during address creation
Example 4.7. Primary Address Removal
mobicents(10.65.208.215:3435)>sccp primary_add delete 1 Rule successfully removed
Example 4.8. Backup Address Removal
mobicents(10.65.208.215:3435)>sccp backup_add delete 1 Rule successfully removed
SCCP resources includes remote signaling point and remote subsytem.
Each remote signaling point that SCCP can communicate with must be configured using sccp rsp
command
sccp rsp create
sccp rsp modify
sccp rsp delete
sccp rsp show
Remote signaling point can be create by issuing command with following structure:
sccp rsp create <id> <remote-spc> <rspc-flag> <mask>
A unique number to identify this remote signaling point
The remote signaling point
32 bit value. Not used for now. Reserved for future
32 bit value. Not used for now. Reserved for future
Example 4.9. Remote Signalin Point creation
mobicents(10.65.208.215:3435)>sccp rsp create 1 6477 0 0
sccp rsp delete <id>
Where:
is id set during remote signaling point creation
SCCP resources includes remote signaling point and remote subsytem.
Each remote subsystem that SCCP can communicate with must be configured using sccp rss
command
sccp rss create
sccp rss modify
sccp rss delete
sccp rss show
This command should be specified after remote signaling point is configured. Please refer Section 4.3.3, “Remote Signaling Point Management” on how to configure remote signaling point
Remote subsystem can be created by issuing command with following structure:
sccp rss create <id> <remote-spc> <remote-ssn> <rss-flag>
A unique number to identify this remote subsystem
The remote signaling point where this remote susbsytem is deployed
The remote subsystem number
32 bit value. Not used for now. Reserved for future
sccp rss delete <id>
Where:
is id set during remote subsystem creation
M3UA stack is also responsible to manage the SCTP Associations.
M3UA - SCTP is managed by sctp
command. It allows to perform following:
sctp server create
sctp server destroy
sctp server start
sctp server stop
sctp server show
sctp association create
sctp association destroy
sctp association show
SCTP Server can be created by issuing command with following structure:
sctp server create <server-name> <host-ip> <host-port>
Where:
Unique name assigned to the server.
The host ip address where underlying SCTP server socket will bind
The host port where underlying SCTP server socket will bind
Example 4.13. SCTP Server creation
mobicents(127.0.0.1:3436)>sctp server create TestServer 127.0.0.1 2905 Successfully added Server=TestServer
SCTP Server can be destroyed by issuing command with following structure:
sctp server destroy <server-name>
Where:
Unique name of the server to be destroyed. Make sure server is stopped before destroying.
Example 4.14. Destroy SCTP Server
mobicents(127.0.0.1:3436)>sctp server destroy TestServer Successfully removed Server=TestServer
SCTP Server can be started by issuing command with following structure:
sctp server start <server-name>
Where:
Unique name of the server to be started. The underlying SCTP server socket is bound to ip:port configured at creation time.
Example 4.15. Start SCTP Server
mobicents(127.0.0.1:3436)>sctp server start TestServer Successfully started Server=TestServer
SCTP Server can be stopped by issuing command with following structure:
sctp server stop <server-name>
Where:
Unique name of the server to be stopped. The underlying socket is closed at this point and all resource are released.
Example 4.16. Stop SCTP Server
mobicents(127.0.0.1:3436)>sctp server stop TestServer Successfully stopped Server=TestServer
SCTP Server's configuration can be viewed by issuing command with following structure:
sctp server show
Association can be created by issuing command with following structure:
sctp association create <assoc-name> <CLIENT | SERVER> <server-name> <peer-ip> <peer-port> <host-ip> <host-port>
Where:
Unique name of the association
If this association is client side or server side. If its client side, it will initiate the connection to peer and bind's to host-ip:host-port trying to connect to peer-ip:peer-port.
If its server side, it waits for peer to initiate connection. The connection request will be accepted from peer-ip:peer-port. host-ip and host-port is not required, even if passed it will be ignored
If this association is server side, server-name must be passed to associate with server. Server with server-name should have already been created by using command Section 4.4.1.1, “Create SCTP Server”
If this association is client side, server-name shouldn't be passed.
Example 4.18. Create CLIENT SCTP Association
mobicents(192.168.56.1:3436)>sctp association create Assoc1 CLIENT 192.168.56.101 2905 192.168.56.1 2905 Successfully added client Association=Assoc1
Example 4.19. Create SERVER SCTP Association
mobicents(192.168.56.1:3436)>sctp association create Assoc2 SERVER TestServer 192.168.56.1 2905 Successfully added server Association=TestServer
Association can be destroyed by issuing command with following structure:
sctp association destroy <assoc-name>
Where:
Unique name of the association to be destroyed
Example 4.20. Destroy SCTP Association
mobicents(192.168.56.1:3436)>sctp association destroy Assoc1 Successfully removed association=Assoc1
M3UA is managed by m3ua
command. It allows to perform following:
m3ua as create
m3ua as destroy
m3ua as show
m3ua asp create
m3ua asp destroy
m3ua asp show
m3ua asp start
m3ua asp stop
m3ua as add
m3ua as remove
m3ua route add
m3ua route remove
m3ua route show
Application Server (AS) can be created by issuing command with following structure:
m3ua as create <as-name> <AS | SGW | IPSP> mode <SE | DE> ipspType <client | server> rc <routing-context> traffic-mode <traffic mode>
Where:
simple string name, which identifies AS. Make sure this is unique. This is mandatory parameter
Specify if this is of type AS or SGW or IPSP. This is mandatory parameter
Specify if the single or double exchange of ASP State Maintenance (ASPSM) and ASP Traffic Maintenance (ASPTM) messages should be performed. This is mandatory parameter.
If As if of type IPSP, speicfy here if its client or server type.
refers to Routing Context already configured on M3UA stack on SGW side. This is optional parameter. If no Routing Context is passed, Application Server Process (assigned to this AS) may not be configured to process signalling traffic related to more than one Application Server, over a single SCTP Association
Also if ASP is configured to process siganlling traffic from always one AS, irrespective of received messages have routing context set or not, it will always be delieverd to AS for further processing. However if ASP is configured to process siganlling traffic related to more than one AS over a single SCTP Association and signalling message is received without RC, it drops the message and sends back Error message. Respective log4j error is also logged.
Traffic mode for ASP's. By default its loadshare. Mobicents M3UA only supports loadshare and override, broadcast is not supported.
Example 4.22. AS (IPSP) creation
mobicents(127.0.0.1:3435)>m3ua as create AS1 IPSP mode DE ipspType server rc 1 traffic-mode loadshare Successfully created AS name=AS1
Example 4.23. AS creation
mobicents(127.0.0.1:3435)>m3ua as create AS2 AS mode SE rc 100 traffic-mode loadshare Successfully created AS name=AS2
Application Server (AS) can be destroyed by issuing command with following structure:
m3ua as destroy <as-name>
Where:
Simple string name, which identifies AS. Make sure AS is in state INACTIVE and all the ASP's are unassigned before destroying
Example 4.24. Destroy AS
mobicents(127.0.0.1:3435)>m3ua as destroy AS1 Successfully destroyed AS name=AS1
Application Server configured can viewed by issuing command with following structure:
m3ua as show
Application Server Process (ASP) can be created by issuing command with following structure:
m3ua asp create <asp-name> <sctp-association>
Where:
Name of this ASP. It should be unique
name of SCTP Association
Example 4.26. ASP creation
mobicents(127.0.0.1:3435)>m3ua asp create ASP1 Assoc1 Successfully created AS name=ASP1
ASP can be destroyed by issuing command with following structure:
m3ua asp destroy <asp-name>
Where:
Name of this ASP to be destroyed. Make sure ASP is stopped before destroying
Example 4.27. Destroy ASP
mobicents(127.0.0.1:3435)>m3ua asp destroy ASP1 Successfully destroyed ASP name=ASP1
ASP configured can be viewed by issuing command with following structure:
m3ua asp show
Application Server Process (ASP) can be started with following structure
m3ua asp start <asp-name>
Where:
name of ASP created earlier. Make sure ASP you are trying to start is assigned to at least one AS
Example 4.29. Start ASP
mobicents(127.0.0.1:3435)>m3ua asp start ASP1 Successfully started ASP name=ASP1
Application Server Process (ASP) can be stopped with following structure
m3ua asp stop <asp-name>
Where:
name of ASP started earlier.
Example 4.30. Stop ASP
mobicents(127.0.0.1:3435)>m3ua asp stop ASP1 Successfully stopped ASP name=ASP1
Application Server Process (ASP) can be assigned to Application Server (AS) with following structure
m3ua as add <as-name> <asp-name>
Where:
name of AS created earlier
name of ASP created earlier
Mobicents M3UA supports configuring ASP to process signalling traffic related to more than one Application Server, over a single SCTP Association. However you need to make sure that all the AS's that ASP is shared with has Routing Context (unique) configured.
Example 4.31. Add ASP to AS
mobicents(127.0.0.1:3435)>m3ua as add AS1 ASP1 Successfully added ASP name=ASP1 to AS name=AS1
Application Server Process (ASP) can be unassigned from Application Server (AS) with following structure
m3ua as remove <as-name> <asp-name>
Where:
name of AS
name of ASP
Example 4.32. Remove ASP from AS
mobicents(127.0.0.1:3435)>m3ua as remove AS1 ASP1 Successfully removed ASP name=ASP1 from AS name=AS1
Configure the destination point code that message will be routed to
m3ua route add <as-name> <dpc> <opc> <si>
Where:
name of AS created earlier
Destination point code
Originating point code
Service Indicator
Remove the As configured for the destination point code
m3ua route remove <as-name> <dpc> <opc> <si>
Where:
name of AS assigned to route message for this dpc
Destination point code
Originating point code
Service Indicator